import asyncio

from pyppeteer import launch

# 应用账号（请替换为真实账号）
app_key = 'app_key'
# 应用密码（请替换为真实密码）
app_secret = 'app_secret'
# 隧道域名:端口号
tunnel = "http-dynamic.xiaoxiangdaili.com:10030"
# 要访问的目标网页
target_url = "http://httpbin.org/ip"


def accounts():
    account = {"username": app_key, "password": app_secret}
    return account


async def run():
    browser = await launch({'headless': False, 'args': ['--disable-infobars', '--proxy-server=' + tunnel]})
    page = await browser.newPage()

    await page.authenticate(accounts())  # 白名单方式，注释本行（需提前设置白名单）
    await page.setViewport({'width': 1920, 'height': 1080})
    # 使用代理IP发送请求
    await page.goto(target_url)
    await asyncio.sleep(209)
    await browser.close()

asyncio.get_event_loop().run_until_complete(run())